import axios from 'axios';
import { showFailToast } from 'vant';
// 创建axios实例
const service = axios.create({
  baseURL: '/api', // 应用的基础API地址
  timeout: 5000, // 请求超时时间
});

// 响应拦截器
service.interceptors.response.use(
  (response) => {
    // 对响应数据做处理
    const res = response.data;
    if(res.code == null){
      return res;
    }
    // 根据你的业务逻辑处理响应
    if (res.code !== 2000) {
      // 处理错误情况，如弹出提示等
      
      if(res.code === 4005){
        showFailToast(res.msg || 'Error');
        window.location.href='/login'
      }
      else{
        console.error('请求错误', res.msg || 'Error');
        showFailToast(res.msg || 'Error');
      }
      return Promise.reject(new Error(res.msg || 'Error'));
    }
    return res;
  },
  (error) => {
    // 处理响应错误
    console.error('网络请求错误', error.response);
    if(error.response.code === 404){
      showFailToast('请求地址不存在')
    }else{
      showFailToast(error.message);
    }
    
    return Promise.reject(error);
  }
);

export default service;